home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / QuickDraw 3D / Samples / SampleCode / Utility Library / Interfaces / Q3UL.h < prev   
Encoding:
C/C++ Source or Header  |  1997-08-14  |  3.0 KB  |  130 lines  |  [TEXT/CWIE]

  1. /*
  2.  *
  3.  * Interface for a utility library for QuickDraw 3D.
  4.  *
  5.  * Nick Thompson, nickt@apple.com
  6.  * Send bug reports and feedback to devsupport@apple.com.
  7.  *
  8.  * ©1997 Apple Computer Inc, All Rights Reserved 
  9.  *
  10.  * Modification History:
  11.  *
  12.  */
  13.  
  14. #ifndef _Q3UL_H_
  15. #define _Q3UL_H_
  16.  
  17. #include "QD3D.h"
  18. #include "QD3DView.h"
  19.  
  20. /*
  21.  * use this to turn debugging on
  22.  */
  23. #define            DEBUGGING    1
  24.  
  25.  
  26. typedef            long        TQ3UL_WindowRef ;
  27.  
  28.  
  29. /*------------------------------------------------------------------------------
  30.  * types.
  31.  */ 
  32.  
  33. /* start with some function types...  These are supplied by the client app */
  34.  
  35. /* get called to handle events associated with a window */
  36. typedef    void ( * TQ3UL_KeyHandler )( TQ3UL_WindowRef windowID, unsigned char key, short mouseX, short mouseY ) ;
  37. typedef    void ( * TQ3UL_MouseDownHandler )( TQ3UL_WindowRef windowID, short mouseX, short mouseY ) ;
  38. typedef    void ( * TQ3UL_MouseUpHandler )( TQ3UL_WindowRef windowID, short mouseX, short mouseY ) ;
  39. typedef    void ( * TQ3UL_MouseDragHandler )( TQ3UL_WindowRef windowID, short mouseX, short mouseY ) ;
  40.  
  41. /* get called when a window is closed */
  42. typedef    void ( * TQ3UL_CloseWindowHandler )( TQ3UL_WindowRef windowID ) ;
  43.  
  44. /* routine window maintenance */
  45. typedef    void ( * TQ3UL_RedrawHandler )( TQ3UL_WindowRef windowID, TQ3ViewObject theView ) ;
  46. typedef    void ( * TQ3UL_IdleHandler )( TQ3UL_WindowRef windowID ) ;
  47.  
  48.  
  49. /*------------------------------------------------------------------------------
  50.  * prototypes.
  51.  */ 
  52.  
  53.  
  54. TQ3Status Q3UL_Initialize( void ) ;
  55.  
  56. TQ3Status Q3UL_Terminate( void ) ;
  57.  
  58. void    Q3UL_SetPrivType( 
  59.     TQ3UL_WindowRef windowID, 
  60.     unsigned long refType) ;
  61.  
  62. unsigned long Q3UL_GetPrivType( 
  63.     TQ3UL_WindowRef windowID ) ;
  64.  
  65. void    Q3UL_SetPrivData( 
  66.     TQ3UL_WindowRef windowID, 
  67.     void *priv) ;
  68.  
  69. void    *Q3UL_GetPrivData( 
  70.     TQ3UL_WindowRef windowID ) ;
  71.  
  72. void    Q3UL_RegisterCloseWindowHandler( 
  73.     TQ3UL_WindowRef             windowID, 
  74.     TQ3UL_CloseWindowHandler     theCloseHandler ) ;
  75.  
  76. void    Q3UL_RegisterKeyHandler( 
  77.     TQ3UL_WindowRef     windowID, 
  78.     TQ3UL_KeyHandler     theKeyHandler ) ;
  79.  
  80. void    Q3UL_RegisterKeyHandler( 
  81.     TQ3UL_WindowRef     windowID, 
  82.     TQ3UL_KeyHandler     theKeyHandler ) ;
  83.  
  84. void Q3UL_RegisterMouseDownHandler( 
  85.     TQ3UL_WindowRef         windowID, 
  86.     TQ3UL_MouseDownHandler     theMouseDownHandler ) ;
  87.  
  88. void Q3UL_RegisterMouseUpHandler( 
  89.     TQ3UL_WindowRef         windowID, 
  90.     TQ3UL_MouseUpHandler     theMouseUpHandler ) ;
  91.  
  92. void Q3UL_RegisterMouseDragHandler( 
  93.     TQ3UL_WindowRef         windowID, 
  94.     TQ3UL_MouseDragHandler     theMouseDragHandler ) ;
  95.     
  96. void Q3UL_RegisterRedraw( 
  97.     TQ3UL_WindowRef         windowID, 
  98.     TQ3UL_RedrawHandler     theRedrawHandler ) ;
  99.  
  100. void Q3UL_RegisterIdle( 
  101.     TQ3UL_WindowRef         windowID, 
  102.     TQ3UL_IdleHandler         theIdleHandler ) ;
  103.     
  104. TQ3UL_WindowRef Q3UL_NewWindow(
  105.     short width, 
  106.     short height ) ;
  107.     
  108. void Q3UL_RedrawWindow(
  109.     TQ3UL_WindowRef windowID ) ;
  110.     
  111. void Q3UL_DestroyWindow( 
  112.     TQ3UL_WindowRef windowID ) ;
  113.     
  114. void Q3UL_ResizeFrontWindow( 
  115.     short x, 
  116.     short y ) ;
  117.     
  118. void Q3UL_ZoomFrontWindow() ;
  119.  
  120. void Q3UL_MoveFrontWindow( 
  121.     short top, 
  122.     short left ) ;
  123.  
  124. void Q3UL_MainEventLoop(void) ;
  125.  
  126. #endif
  127.  
  128.  
  129.  
  130.